package top.rainf.mapper;

import org.apache.ibatis.annotations.Mapper;
import top.rainf.domain.vo.UserPersonalInfo;

import java.util.List;

/**
 * @author 星环
 * @date 2023/5/8 12:39:50
 * @description
 */
@Mapper
public interface UserPersonalInfoMapper {

    /**
     * 查询用户个性信息
     *
     * @param userId 用户个性信息主键
     * @return 用户个性信息
     */
    public UserPersonalInfo selectUserPersonalInfoByUserId(Long userId);

    /**
     * 查询用户个性信息列表
     *
     * @param userPersonalInfo 用户个性信息
     * @return 用户个性信息集合
     */
    public List<UserPersonalInfo> selectUserPersonalInfoList(UserPersonalInfo userPersonalInfo);

    /**
     * 新增用户个性信息
     *
     * @param userPersonalInfo 用户个性信息
     * @return 结果
     */
      int insertUserPersonalInfo(UserPersonalInfo userPersonalInfo);

    /**
     * 修改用户个性信息
     *
     * @param userPersonalInfo 用户个性信息
     * @return 结果
     */
      int updateUserPersonalInfo(UserPersonalInfo userPersonalInfo);

    /**
     * 删除用户个性信息
     *
     * @param userId 用户个性信息主键
     * @return 结果
     */
      int deleteUserPersonalInfoByUserId(Long userId);

    /**
     * 批量删除用户个性信息
     *
     * @param userIds 需要删除的数据主键集合
     * @return 结果
     */
      int deleteUserPersonalInfoByUserIds(String[] userIds);

    UserPersonalInfo selectById(int userId);

    List<UserPersonalInfo> selectAll();

    int deleteById(int id);

    int updateById(UserPersonalInfo userPersonalInfo);

    int deleteByIds(List<Integer> idList);

    List<UserPersonalInfo> selectByIds(List<Integer> uidList);

    UserPersonalInfo selectJoinedInfoById(Integer id);
}
